package com.ymt.fmd.platform.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ymt.fmd.platform.dao.mysql.PI18nMapper;
import com.ymt.fmd.platform.model.PI18n;
import com.ymt.fmd.platform.service.I18nService;
/**
 * 多语言服务层实现类
 * @author huangzhen
 * 2013-10-18
 */
@Service
public class I18nService {
	
	@Autowired
	PI18nMapper i18nMapper;
	/**
	 * 批量创建多语言
	 * @param i18ns
	 * @return
	 */
	public int insertBatch(List<PI18n> i18ns) {
		int ret = 0;
		for(PI18n PI18n:i18ns) {
			ret += i18nMapper.insert(PI18n);
		}
		return ret;
	}
	/**
	 * 批量修改多语言
	 * @param i18ns
	 * @return
	 */
	public int updateByPrimaryKeys(List<PI18n> i18ns) {
		int ret = 0;
		for(PI18n PI18n : i18ns) {
			ret += i18nMapper.updateByPrimaryKey(PI18n);
		}
		return ret;
	}
	/**
     * 用主键删除多语言信息
     * @param type
     * @param relationkey
     * @param lang
     * @return
     */
	public int deleteByPrimaryKey(String tenantId, String target,String category,String type,String relationkey,String lang) {
		return i18nMapper.deleteByPrimaryKey(tenantId, target,category,type,relationkey,lang);
	}
	/**
     * 创建语言信息
     * @param record
     * @return
     */
	public int insert(PI18n record) {
		return i18nMapper.insert(record);
	}
	/**
     * 用主键获取语言信息
     * @param type
     * @param relationkey
     * @param lang
     * @return
     */
	//@Param("target") String target, @Param("category") String category, @Param("type") String type, @Param("relationkey") String relationkey, @Param("lang") String lang
	public PI18n selectByPrimaryKey(String tenantId, String target,String category,String type,String relationkey,String lang) {
		return i18nMapper.selectByPrimaryKey(tenantId, target,category,type,relationkey,lang);
	}
	/**
     * 获取所有语言信息
     * @return
     */
	public List<PI18n> selectAll(String tenantId) {
		return i18nMapper.selectAll(tenantId);
	}
	/**
     * 用主键修改语言信息
     * @param record
     * @return
     */
	public int updateByPrimaryKey(PI18n record) {
		return i18nMapper.updateByPrimaryKey(record);
	}
	
    /**
     * 通过资源获取多语言列表
     * @param relationkey
     * @return
     */
	public List<PI18n> selectByRelationkey(String tenantId, String relationkey) {
		return i18nMapper.selectByRelationkey(tenantId, relationkey);
	}
	
	/**
     * 获得多语言列表
     * @param relationkey
     * @return
     */
	public List<PI18n> selectI18nListNoLang(String tenantId, String relationkey) {
		return i18nMapper.selectByRelationkey(tenantId, relationkey);
	}
	
}
